

package com.hexinfo.dmpro.script.pack.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hexinfo.dmpro.common.base.PageResult;
import com.hexinfo.dmpro.component.code.detection.entity.ScriptPackScanResultEntity;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.List;
import java.util.Set;

/**
 * 脚本扫描结果
 *
 * @author Wang zhihao
 * @date 2023-10-07 17:48:50
 */
public interface IScriptPackScanResultService extends IService<ScriptPackScanResultEntity> {

    /**
     * @Method queryList
     * @Param
     * @param page
     * @param scriptPackScanResult
     * @Return com.hexinfo.dmpro.common.base.PageResult
     * @Description 分页查询并返回PageResult类型的对象
     * @Author Wang zhihao
     * @Date 2023/10/16 13:33
     * @Version V1.0
     */
    PageResult queryList(Page page, ScriptPackScanResultEntity scriptPackScanResult);

    /**
     * @Method queryListNoPage
     * @Param
     * @param scriptPackScanResult
     * @Return java.util.List<com.hexinfo.dmpro.component.code.detection.entity.ScriptPackScanResultEntity>
     * @Description 不分页查询
     * @Author Wang zhihao
     * @Date 2023/10/23 9:54
     * @Version V1.0
     */
    List<ScriptPackScanResultEntity> queryListNoPage(ScriptPackScanResultEntity scriptPackScanResult);

    /**
     * @Method removeByListId
     * @Param
     * @param listId
     * @Return void
     * @Description 根据清单ID删除resultInfo
     * @Author Wang zhihao
     * @Date 2023/10/23 9:54
     * @Version V1.0
     */
    void removeByListId(String listId);

    /**
     * @Method download
     * @Param
     * @param pkIds
     * @param taskId
     * @Return java.io.File
     * @Description 导出结果清单
     * @Author Wang zhihao
     * @Date 2023/11/1 16:14
     * @Version V1.0
     */
    String download(List<String> pkIds, String taskId);

    /**
     * @Method ignoreById
     * @Param
     * @param scriptPackScanResult
     * @Return void
     * @Description 根据ID忽略异常
     * @Author Wang zhihao
     * @Date 2023/12/19 17:32
     * @Version V1.0
     */
    void ignoreById(ScriptPackScanResultEntity scriptPackScanResult);

    /**
     * @Method ignoreAndRefreshList
     * @Param
     * @param listId
     * @param id
     * @Return void
     * @Description 根据ID忽略异常并刷新
     * @Author Wang zhihao
     * @Date 2023/12/19 18:22
     * @Version V1.0
     */
    void ignoreAndRefreshList(String listId, String id);
}
